lcVportLayerCmd Home

Overrides some Layers properties for specified viewport.
The following layer properties can be overriden:
LC_PROP_LAYER_VISIBLE, LC_PROP_LAYER_COLORx, LC_PROP_LAYER_FCOLORx, LC_PROP_LAYER_LINETYPE, LC_PROP_LAYER_LWIDTH

 BOOL lcVportLayerCmd (
   HANDLE hViewport,
   int Cmd,
   HANDLE hLayer
 );

Parameters
hViewport
  Handle to a viewport object.
Cmd
  Can be one of the following values:

Value Meaning
LC_VPL_CLEAR delete all layers override
LC_VPL_ADD add viewport layer override
LC_VPL_DELETE delete viewport layer override
LC_VPL_PROP_BEGIN begin to edit layer properties
LC_VPL_PROP_END end to edit layer properties
hLayer
  Handle to a layer, used for commands LC_VPL_ADD and LC_VPL_DELETE.

Return Value

  If the function succeeds, the return value is nonzero (TRUE).

See Also

  lcVportLayerDlg


Code sample:
void DemoVportLayers (HANDLE hLcWnd)
{
  HANDLE hVport, hLayer1, hLayer2, hLcDrw;
  hVport = lcWndGetEntByKey( hLcWnd, 123 );
  if (hVport){
    lcVportLayerCmd( hVport, LC_VPL_CLEAR, 0 );
    hLcDrw = lcPropGetHandle( hLcWnd, LC_PROP_WND_DRW );
    hLayer1 = lcDrwGetObjectByName( hLcDrw, LC_OBJ_LAYER, L"Layer1" );
    hLayer2 = lcDrwGetObjectByName( hLcDrw, LC_OBJ_LAYER, L"Layer2" );
    if (hLayer1 && hLayer2){
      lcVportLayerCmd( hVport, LC_VPL_ADD, hLayer1 );
      lcVportLayerCmd( hVport, LC_VPL_ADD, hLayer2 );
      lcVportLayerCmd( hVport, LC_VPL_PROP_BEGIN, 0 );
        lcPropPutInt( hLayer1, LC_PROP_LAYER_COLORT, RGB(0,0,255) );
        lcPropPutBool( hLayer2, LC_PROP_LAYER_VISIBLE, false );
      lcVportLayerCmd( hVport, LC_VPL_PROP_END, 0 );
    }
    lcWndRedraw( hLcWnd );
  }
}